package com.xcity.game.skill.v2;

import com.xcity.game.combat.attr.CombatAttributeType;
import com.xcity.game.skill.v2.SkillEffector;
import com.xcity.game.skill.v2.DefaultSkillV2;
import com.xcity.game.skill.v2.impl.*;

// !!! THIS IS A GENERATED CLASS. !!!
/**
 * the skill effector's factory
 * @author yang.li
 *
 */
public class SkillEffectorFactory {

	private static final SkillEffector DEFAULT = new SkillEffector() {
		@Override
		public float enhance(CombatAttributeType type, float value) {
			return 0f;
		}
		@Override
		public CombatAttributeType[] getEnhanceTypes() {
			return null;
		}
	};

	private SkillEffectorFactory() {}
	
	public static SkillEffector create(DefaultSkillV2 skill) {
		
		// 初级攻击强化
		// 提升攻击2%，每级提升攻击0.1%
		if (skill.getId() == 100101) {
			return new PASSIVE_SKILL_G_ATK(skill);
		}
		
		// 中级攻击强化
		// 提升攻击3%，每级提升攻击0.1%
		if (skill.getId() == 100102) {
			return new PASSIVE_SKILL_G_ATK(skill);
		}
		
		// 高级攻击强化
		// 提升攻击4%，每级提升攻击0.1%
		if (skill.getId() == 100103) {
			return new PASSIVE_SKILL_G_ATK(skill);
		}
		
		// 特级攻击强化
		// 提升攻击5%，每级提升攻击0.1%
		if (skill.getId() == 100104) {
			return new PASSIVE_SKILL_G_ATK(skill);
		}
		
		// 初级防御强化
		// 提升防御2%，每级提升防御0.1%
		if (skill.getId() == 100201) {
			return new PASSIVE_SKILL_G_DEF(skill);
		}
		
		// 中级防御强化
		// 提升防御3%，每级提升防御0.1%
		if (skill.getId() == 100202) {
			return new PASSIVE_SKILL_G_DEF(skill);
		}
		
		// 高级防御强化
		// 提升防御4%，每级提升防御0.1%
		if (skill.getId() == 100203) {
			return new PASSIVE_SKILL_G_DEF(skill);
		}
		
		// 特级防御强化
		// 提升防御5%，每级提升防御0.1%
		if (skill.getId() == 100204) {
			return new PASSIVE_SKILL_G_DEF(skill);
		}
		
		// 初级生命强化
		// 提升生命2%，每级提升生命0.1%
		if (skill.getId() == 100301) {
			return new PASSIVE_SKILL_G_HP(skill);
		}
		
		// 中级生命强化
		// 提升生命3%，每级提升生命0.1%
		if (skill.getId() == 100302) {
			return new PASSIVE_SKILL_G_HP(skill);
		}
		
		// 高级生命强化
		// 提升生命4%，每级提升生命0.1%
		if (skill.getId() == 100303) {
			return new PASSIVE_SKILL_G_HP(skill);
		}
		
		// 特级生命强化
		// 提升生命5%，每级提升生命0.1%
		if (skill.getId() == 100304) {
			return new PASSIVE_SKILL_G_HP(skill);
		}
		
		// 暴击强化
		// 提升暴击5%，每级提升暴击0.1%
		if (skill.getId() == 100401) {
			return new PASSIVE_SKILL_G_CRIT(skill);
		}
		
		// 韧性强化
		// 提升韧性5%，每级提升韧性0.1%
		if (skill.getId() == 100501) {
			return new PASSIVE_SKILL_G_AVOID_CRIT(skill);
		}
		
		return DEFAULT;
	}


}
